home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / A-Monthly Disks / (c)aae.d64 / blackjack.3 (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  8KB  |  410 lines

  1. 1 GOTO910
  2. 5 REM * BLACKJACK FROM THE PUBLIC DOMAIN        WITH CHAGES MADE FOR THE C64 BY
  3. 6 REM * KEN JIRELE AND FRED LAYBERGER,          OMAHA NEBRASKA
  4. 10 REM **GENERAL INPUT ROUTINE **
  5. 15 :
  6. 30 :
  7. 35 REM +++ INPUT SECTION +++
  8. 40 POKEUO,0:UR$="":UI$=""
  9. 42 IFUL=0THENUL=80
  10. 45 POKEUC,0
  11. 50 GETUI$:IFUI$=""THEN50
  12. 55 IFUI$=CHR$(13)ANDLEN(UR$)>=1THENPOKEUC,1:PRINT" [157]";:GOTO120
  13. 60 IFUI$=CHR$(20)THEN105
  14. 62 IF LEN(UR$)=>ULTHEN50
  15. 65 GOSUB120:REM CHECK FOR VALID CHARACTER
  16. 70 UR$=UR$+UI$
  17. 75 PRINTUI$;
  18. 80 GOTO50
  19. 102 REM ++ CHECK DELETE ++
  20. 105 IFLEN(UR$)<1THEN50
  21. 110 UR$=LEFT$(UR$,LEN(UR$)-1)
  22. 115 PRINT"[157]  [157][157]";:GOTO50
  23. 120 REM ++ CHECK FOR VALID CHARACTERS ++
  24. 125 IFLEN(US$)=0THEN150
  25. 130 FORUS=1TOLEN(US$)
  26. 135 IFUI$=MID$(US$,US,1)THENRETURN
  27. 140 NEXT
  28. 145 UI$="":RETURN
  29. 150 REM ** STANDARD INPUT **
  30. 152 IFASC(UI$)=46THENRETURN
  31. 155 IFUI$=CHR$(32)THENRETURN
  32. 160 IFASC(UI$)<48ORASC(UI$)>57THEN170
  33. 165 RETURN
  34. 170 IFASC(UI$)<65ORASC(UI$)>90THEN180
  35. 175 RETURN
  36. 180 IFASC(UI$)<193ORASC(UI$)>218THENUI$="":RETURN
  37. 185 IFPEEK(UT)=UL%THENUI$=CHR$(ASC(UI$)-128):RETURN
  38. 187 RETURN
  39. 190 UI$="":RETURN
  40. 216 GOTO300
  41. 217 UZ=0:US$=UJ$:UG$=UK$:UP=UJ:UL=UK:IFPEEK(50003)=0THENPOKE53281,6:POKE53280,14
  42. 220 PRINT"[147]";:POKEUT,UV%:FORUQ=UBTO(U2%*256+U1%+U3%-3)
  43. 225 POKEUQ,UQ%(UQ-UB):NEXT
  44. 230 POKEU1,U1%
  45. 232 POKEU2,U2%
  46. 233 POKEU4,U4%
  47. 234 POKEU3,U3%-1
  48. 235 GOTO35
  49. 300 REM ** MENU **
  50. 301 :
  51. 302 PRINT"[147][144]":POKEUT,UU%:IFPEEK(50003)=0THENPOKE53281,15:POKE53280,0
  52. 303 :
  53. 305 PRINT"               MENU"
  54. 310 PRINT" --------------------------------------"
  55. 315 PRINT"       1.   BEGIN BLACKJACK"
  56. 320 PRINT"       2.   INSTRUCTIONS"
  57. 335 PRINT"       3.   QUIT"
  58. 340 PRINT" --------------------------------------"
  59. 345 PRINT"       PRESS A NUMBER KEY (1-3) ";
  60. 350 UL=1:US$="123":GOSUB35:REM INPUT ROUTINE
  61. 352 US$=""
  62. 355 ONVAL(UR$)GOSUB1000,400,396
  63. 360 GOTO300
  64. 395 REM ** RE-ENABLE STOP KEY AND END **
  65. 396 CLR:END
  66. 400 REM ** STUDENT INSTRUCTIONS **
  67. 405 PRINT"[147]":POKEUT,UL%:IFPEEK(50003)=0THENPOKE53281,15:POKE53280,0
  68. 410 UP=0:UG$="[211]TUDENT [201]NST":GOSUB850
  69. 413 PRINT"    [212]HIS GAME SIMULATES THE GAME OF
  70. 415 [153]"    BLACKJACK.":[153]"    (null)OU MUST GET UP TO 21 IN LESS"
  71. 420 [153]"    THAN 5 CARDS. (null)OU CAN BET ON"
  72. 422 [153]"    YOUR HAND. RIGHT$F YOU LOSE, YOUR BET"
  73. 425 [153]"    IS DEDUCTED FROM YOUR TOTAL":[153]"    EARNINGS."
  74. 426 [141]835:[141]850
  75. 427 [153]"    (null)OU MAY DECIDE IF YOU WANT"
  76. 430 [153]"    ANOTHER CARD EACH TIME.  RIGHT$F YOU"
  77. 431 [153]"    WANT TO DOUBLE YOUR BET WHEN YOU"
  78. 433 [153]"    ARE IN THE MIDDLE OF A HAND, THE"
  79. 435 [153]"    COMPUTER WILL GIVE YOU ANOTHER "
  80. 436 [153]"    CARD AND DOUBLE YOUR BET."
  81. 437 [141]835:[141]850
  82. 438 [153]"    (null)O DOUBLE BETWAIT:  TYPE  D <RETURN>"
  83. 440 [153]"    LEFT$OUSE LIMIT ON EACH BETWAIT:":[153][163]26)"$25,000.00"
  84. 485 [141]835
  85. 490 [139]UZ[178]1[167][158]UP%:[137]217
  86. 499 [142]
  87. 835 [143] ** SPACE BAR PRESS **
  88. 840 [151]UO,0:[153][200](UD$,24);"PRESS SPACE BAR TO CONTINUEWAIT"
  89. 844 [161]UI$:[139]UI$[179][177]" "[167]844
  90. 846 [142]
  91. 850 [143] ** PAGE DESIGN ROUTINE **
  92. 852 UP[178]UP[170]1
  93. 853 [139][194](UT)[178]UL%[167]855
  94. 854 UT$[178]" BLACKJACK":UG$[178]"BLACKJACK":[137]857
  95. 855 UT$[178]" PEEK(null)ATNLEN(null)MID$ATNLEN(null)"
  96. 857 [153]"LOAD"[200](UT$[170]UP$,21);[201](UP$[170]UG$[170][196](UP),18)
  97. 860 [153]" --------------------------------------"
  98. 864 [139]UH[179][177]0[167]870
  99. 865 [153][200](UD$,24);[200](UP$,6);"TO EXIT GAME PRESS  QWAIT ."
  100. 870 UH[178]0:[153]"":[142]
  101. 875 [143] ** PLEASE WAIT REMARK **
  102. 880 [153][200](UD$,24);"           ONE MOMENT PLEASE...     "
  103. 885 [142]
  104. 900 [143] ** SET UP VARIABLES **
  105. 901 UX$[178]"H":[134]UQ%(1000):UB[178]32768:U1[178]196:U2[178]197:U3[178]198:U4[178]216:UC[178]167:UU[178]1024
  106. 902 UT[178]59468:UU%[178]12:UL%[178]14:UP%[178]1146:UM[178]32768:UO[178]158:[151] 50003,0
  107. 903 [139][194](50003)[178]0[167]UB[178]1024:U1[178]209:U2[178]210:U3[178]211:U4[178]214:UC[178]204:UU[178]2048
  108. 904 [139][194](50003)[178]0[167]UT[178]53272:UU%[178]21:UL%[178]23:UP%[178]2139:UM[178]1024:UO[178]198
  109. 905 UD$[178]""
  110. 906 UP$[178]"                                       "
  111. 908 [142]
  112. 910 [143] ** SET VARIABLES **
  113. 911 [134]C(52),P(10),D(10)
  114. 912 [134]S$(52),C$(52)
  115. 920 [141]900
  116. 980 [137]300:[143] MENU
  117. 1000 [139]UZ[178]1[167][158]UP%:[158]UP%:UZ[178]0:CS[178]0:[143] ** PROGRAM STARTS HERE **
  118. 1001 [153]"LOAD";:[140]:[139][194](50003)[178]0[167][151]53281,15:[151]53280,5
  119. 1070 S9$[178]"ATN(null)(null)(null)"
  120. 1080 C8$[178]"23456789TJQKA"
  121. 1090 C9$[178]" 2 3 4 5 6 7 8 91010101011"
  122. 1115 ER$[178]ER$[170]""
  123. 1120 DN$[178]""
  124. 1130 [143]
  125. 1170 [141]2260
  126. 1180 T[178]0
  127. 1190 J8[178]J
  128. 1200 [139]A9[179]4[167]1220
  129. 1210 [141]835:[141]2260
  130. 1220 [139]J[179]42[167]1240
  131. 1230 [141]835:[141]2260
  132. 1240 [153]DN$;ER$"PLACE YOUR BET.         CMDCMDCMDCMDCMDCMDCMDCMD";
  133. 1245 CS[178]0
  134. 1250 US$[178]"012345678910Q":UL[178]5:[141]35:[139]UR$[178]"Q"[167]2160
  135. 1260 B1[178][197](UR$):K$[178]B$
  136. 1270 [139]B1[178]0[167]1240
  137. 1280 [139]B1[177]0[167]1310
  138. 1290 [141]835:[141]2260
  139. 1300 B1[178][171]B1
  140. 1310 [139]B1[177][178]1[167]1340
  141. 1320 [153]ER$"THE MINIMUM BET IS $1"
  142. 1330 [137]1190
  143. 1340 [139]B1[179][178]25000[167]1380
  144. 1350 [139]M1[178]1[167]2950
  145. 1360 [153]ER$:[153]ER$:[153]ER$"THE LIMIT PER BET IS $25,000."
  146. 1370 [137]1240
  147. 1380 P[178]0:D[178]0:P9[178]0:D9[178]0
  148. 1390 V[178]0
  149. 1400 H[178]0
  150. 1410 [141]850
  151. 1420 M1[178]1
  152. 1430 [141]2530
  153. 1440 [141]2650
  154. 1450 [141]3700
  155. 1460 J1[178]J
  156. 1470 M1[178]2
  157. 1480 [141]2530
  158. 1490 [141]2650
  159. 1500 [141]2860
  160. 1510 [139]P[178]21[167]1570
  161. 1520 [139]D[179]21[167]1650
  162. 1530 M1[178]1
  163. 1540 [141]2860
  164. 1550 [153]DN$""ER$"DEALER HAS A BLACKJACK"
  165. 1560 [137]2060
  166. 1570 M1[178]1
  167. 1580 [141]2860
  168. 1590 [139]D[179]21[167]1620
  169. 1600 [153]DN$""ER$"WE BOTH HAVE BLACKJACK"
  170. 1610 [137]2000
  171. 1620 [153]DN$""ER$"YOU HAVE A BLACKJACK"
  172. 1630 B1[178]1.5[172]B1
  173. 1640 [137]2020
  174. 1650 [139]P[179]22[167]1710
  175. 1660 [153]DN$""ER$"YOU HAVE BUSTED"
  176. 1665 [129]Q[178]1[164]400:[130]Q:CS[178]1
  177. 1670 M1[178]1
  178. 1680 [141]2860
  179. 1690 M1[178]2
  180. 1700 [137]2060
  181. 1710 [139]V[178]0[167]1730
  182. 1720 [137]1870
  183. 1730 [153]DN$;ER$"DO WANT ANOTHER CARD?  CMD";
  184. 1760 US$[178]"YNDQ":UL[178]1:[141]35:A$[178]UR$
  185. 1765 [139]A$[178]"Q"[167]2160
  186. 1770 [139]A$[178]"Y"[167]1830
  187. 1780 [139]A$[178]"D"[167]1810
  188. 1800 [137]1870
  189. 1810 B1[178]2[172]B1
  190. 1820 V[178]1
  191. 1830 K$[178]B$
  192. 1840 M1[178]M1[170]1
  193. 1850 [141]2530
  194. 1860 [137]1650
  195. 1870 M1[178]1
  196. 1875 CS[178]1
  197. 1880 [141]2860
  198. 1890 M1[178]2
  199. 1900 [139]D[177]16[167]1950
  200. 1910 M1[178]M1[170]1
  201. 1920 [141]2650
  202. 1930 [141]2860
  203. 1940 [137]1900
  204. 1950 [139]D[179][178]21[167]1980
  205. 1960 [153]DN$""ER$"DEALER HAS BROKE--YOU WIN!":[141]3950
  206. 1970 [137]2030
  207. 1980 [139]D[179]P[167]2020
  208. 1990 [139]D[177]P[167]2060
  209. 2000 [153]DN$""ER$"YOU PUSHED THE DEALER    "
  210. 2010 [137]2080
  211. 2020 [153]DN$""ER$"YOU WIN!":[141]3950
  212. 2030 T[178]T[170]B1
  213. 2040 [137]2080
  214. 2060 [153]DN$""ER$"YOU LOOSE!":[141]3900
  215. 2070 T[178]T[171]B1
  216. 2080 [139]T[177]0[167]2120
  217. 2090 [139]T[179]0[167]2140
  218. 2100 [153]"        YOU ARE EVEN  "
  219. 2110 [137]1190
  220. 2120 [153]"        YOU ARE AHEAD $";T;
  221. 2130 [137]1190
  222. 2140 [153]"        YOU ARE DOWN $";[171]T;
  223. 2150 [137]1190
  224. 2160 [141]850
  225. 2170 [139]T[178]0[167]2210
  226. 2180 [139]T[179]0[167]2230
  227. 2190 [153]DN$"     YOU HAVE WON  $";T;"CMD."
  228. 2200 [137]2250
  229. 2210 [153]DN$"            YOU BROKE EVEN."
  230. 2220 [137]2250
  231. 2230 [153]DN$"       YOU LOST  $";[171]T;"CMD."
  232. 2250 [141]835:[142]
  233. 2260 [143] *** SHUFFLING ROUTINE
  234. 2270 [153]"LOAD"DN$;ER$"  I'M SHUFFLING THE CARDS."
  235. 2280 [129]I[178]1[164]4
  236. 2290 [129]J[178]1[164]13
  237. 2300 W1[178]13[172](I[171]1)[170]J
  238. 2305 [153][163]18)"ON   CMDCMDCMD";65[171]I[172]13[171]J
  239. 2310 S$(W1)[178][202](S9$,I,1)
  240. 2320 C$(W1)[178][202](C8$,J,1)
  241. 2330 C(W1)[178][197]([202](C9$,2[172]J[171]1,2))
  242. 2340 [130]J
  243. 2350 [130]I
  244. 2360 [129]I[178]1[164]52
  245. 2365 [153][163]18)"ON   CMDCMDCMD";I;"  "
  246. 2370 J[178]52[172][187](1)[170]1
  247. 2380 TT$[178]S$(I)
  248. 2390 S$(I)[178]S$(J)
  249. 2400 S$(J)[178]TT$
  250. 2410 TT$[178]C$(I)
  251. 2420 C$(I)[178]C$(J)
  252. 2430 C$(J)[178]TT$
  253. 2440 TT[178]C(I)
  254. 2450 C(I)[178]C(J)
  255. 2460 C(J)[178]TT
  256. 2470 [130]I
  257. 2480 A9[178]0
  258. 2490 J[178]0
  259. 2500 J1[178]2
  260. 2510 J8[178]0
  261. 2514 [141]850
  262. 2520 [142]
  263. 2530 J[178]J[170]1
  264. 2540 P(M1)[178]J
  265. 2550 [139]C(J)[179]11[167]2580
  266. 2560 P9[178]P9[170]1
  267. 2570 A9[178]A9[170]1
  268. 2580 P[178]P[170]C(J)
  269. 2590 [139]P[179]22[167]2630
  270. 2600 [139]P9[178]0[167]2630
  271. 2610 P[178]P[171]10
  272. 2620 P9[178]P9[171]1
  273. 2625 [153]""P"CMD "
  274. 2630 [153]DN$""
  275. 2640 [137]2890
  276. 2650 J[178]J[170]1
  277. 2660 D(M1)[178]J
  278. 2670 [139]C(J)[179]11[167]2700
  279. 2680 D9[178]D9[170]1
  280. 2690 A9[178]A9[170]1
  281. 2700 D[178]D[170]C(J)
  282. 2710 [139]D[179]22[167]2750
  283. 2720 [139]D9[178]0[167]2750
  284. 2730 D[178]D[171]10
  285. 2740 D9[178]D9[171]1
  286. 2750 [142]
  287. 2760 [129]I[178]1[164]52
  288. 2770 P(I)[178]0
  289. 2780 D(I)[178]0
  290. 2790 [130]I
  291. 2800 [142]
  292. 2810 [129]I[178]1[164]52
  293. 2820 [153]C$(I)[170]S$(I);
  294. 2830 [130]I
  295. 2840 [153]
  296. 2850 [142]
  297. 2860 P5[178]0
  298. 2870 [153]""
  299. 2880 [137]2900
  300. 2890 P5[178]1
  301. 2900 [129]L[178]1[164]8
  302. 2910 [139]M1[178]1[167]2950
  303. 2920 [129]I5[178]1[164]M1[171]1
  304. 2930 [153]"";
  305. 2940 [130]I5
  306. 2950 [139]P5[178]1[167]2980
  307. 2960 I[178]D(M1)
  308. 2970 [137]2990
  309. 2980 I[178]P(M1)
  310. 2990 [151]646,2
  311. 2995 [139]S$(I)[178]"ATN"[176]S$(I)[178]"(null)"[167][151]646,0:[141]3800
  312. 2996 [139]S$(I)[178]"(null)"[176]S$(I)[178]"(null)"[167][151]646,2:[141]3850
  313. 3000 R[178]C(I)
  314. 3010 [139]L[177]1[167]3030
  315. 3020 [153]QQ$;:[137]3660
  316. 3030 [139]L[177]2[167]3100
  317. 3040 [143]
  318. 3050 [139]C$(I)[178]"T"[167]3080
  319. 3060 [153]RR$;[201](C$(I),1);"    ";RR$;
  320. 3070 [137]3660
  321. 3080 [153]RR$;"10";"   ";RR$;
  322. 3090 [137]3660
  323. 3100 [139]L[177]3[167]3170
  324. 3110 [139]C(I)[179]11[167]3130
  325. 3120 [137]3590
  326. 3130 [139]C(I)[177]2[167]3150
  327. 3140 [137]3590
  328. 3150 [139]C(I)[177]3[167]3630
  329. 3160 [137]3610
  330. 3170 [139]L[177]4[167]3320
  331. 3180 [139]C(I)[179]11[167]3200
  332. 3190 [137]3610
  333. 3200 [139]C(I)[179]9[167]3220
  334. 3210 [137]3650
  335. 3220 [139]C(I)[177]3[167]3240
  336. 3230 [137]3610
  337. 3240 [139]C(I)[177]4[167]3260
  338. 3250 [137]3590
  339. 3260 [139]C(I)[177]5[167]3280
  340. 3270 [137]3610
  341. 3280 [139]C(I)[177]6[167]3300
  342. 3290 [137]3630
  343. 3300 [139]C(I)[177]7[167]3630
  344. 3310 [137]3610
  345. 3320 [139]L[177]5[167]3420
  346. 3330 [139]C(I)[179]11[167]3350
  347. 3340 [137]3590
  348. 3350 [139]C(I)[179]10[167]3370
  349. 3360 [137]3650
  350. 3370 [139]C(I)[179]6[167]3390
  351. 3380 [137]3630
  352. 3390 [139]C(I)[179]4[167]3410
  353. 3400 [137]3590
  354. 3410 [137]3610
  355. 3420 [139]L[177]6[167]3510
  356. 3430 [139]C(I)[179]11[167]3450
  357. 3440 [137]3590
  358. 3450 [139]C(I)[179]7[167]3470
  359. 3460 [137]3630
  360. 3470 [139]C(I)[178]4[167]3500
  361. 3480 [139]C(I)[178]5[167]3500
  362. 3490 [137]3590
  363. 3500 [137]3630
  364. 3510 [139]L[177]7[167]3580
  365. 3520 [153]RR$"  ";
  366. 3530 [139]C$(I)[178]"T"[167]3560
  367. 3540 [153]"  "[201](C$(I),1);RR$;
  368. 3550 [137]3660
  369. 3560 [153]" 10";RR$;
  370. 3570 [137]3660
  371. 3580 [153]SS$;:[137]3660
  372. 3590 [153]RR$"     "RR$;
  373. 3600 [137]3660
  374. 3610 [153]RR$"  ";S$(I);"  ";RR$;
  375. 3620 [137]3660
  376. 3630 [153]RR$" ";S$(I);" ";S$(I);" ";RR$;
  377. 3640 [137]3660
  378. 3650 [153]RR$" ";S$(I);S$(I);S$(I);" ";RR$;
  379. 3660 [153]
  380. 3670 [130]L
  381. 3675 [153]""P"CMD "
  382. 3676 [139]CS[177]0[167][153]""D"CMD "
  383. 3680 [153]""
  384. 3690 [142]
  385. 3700 [153]""[170]QQ$
  386. 3710 [153]RR$[166]5)RR$
  387. 3720 [153]RR$[170]"STEP  WAITFN "[170]RR$
  388. 3730 [153]RR$[170]" WAIT   WAITSTEP"[170]RR$
  389. 3740 [153]RR$[170]" WAIT   (null)WAIT"[170]RR$
  390. 3750 [153]RR$[170]"(null)  WAIT  "[170]RR$
  391. 3760 [153]RR$[166]5)RR$
  392. 3770 [153]SS$
  393. 3780 [142]
  394. 3800 QQ$[178]"PRINT#(null)LENLENLENLENLENRIGHT$STOP"
  395. 3810 RR$[178]"PRINT#PEEKSTOP"
  396. 3820 SS$[178]"PRINT#MID$ASCASCASCASCASC(null)STOP"
  397. 3830 [142]
  398. 3850 QQ$[178]"PRINT#(null)LENLENLENLENLENRIGHT$"
  399. 3860 RR$[178]"PRINT#PEEK"
  400. 3870 SS$[178]"PRINT#MID$ASCASCASCASCASC(null)"
  401. 3880 [142]
  402. 3900 [143] ** BUZZER
  403. 3905 [151]54296,15:[151]54277,45:[151]54278,165
  404. 3910 [151]54276,33:[151]54273,6:[151]54272,5
  405. 3915 [129]TT[178]1[164]200:[130]:[151]54276,32:[151]54273,0:[151]54273,0:[151]54272,0:[142]
  406. 3950 [143] ** BELL SOUND
  407. 3955 [151]54296,15:[151]54277,0:[151]54278,247
  408. 3960 [151]54276,17:[151]54273,40:[151]54272,0
  409. 3965 [129]TT[178]1[164]200:[130]:[151]54276,16:[151]54273,0:[151]54273,0:[151]54272,0:[142]
  410.